package com.jumi.microservice.service;

import com.jumi.microservice.common.base.dto.ResponseResult;
import com.jumi.microservice.common.page.TableDataInfo;
import com.jumi.microservice.dto.wallet.api.WalletInOrOutListRequest;
import com.jumi.microservice.dto.wallet.api.WalletInOrOutListResponse;
import com.jumi.microservice.dto.wallet.api.WalletInOrOutRequest;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author by mazhao
 * @Classname IWalletInOrOutService
 * @Description TODO
 * @Date 2020/8/10 17:20
 */
public interface IWalletInOrOutService {

    /**
     * 入账
     * @param request
     * @return
     */
    ResponseResult<Boolean> walletIn(WalletInOrOutRequest request);

    /**
     * 用户服务批量入账
     * @param list
     * @return
     */
    Boolean batchWalletIn(List<WalletInOrOutRequest> list);

    /**
     * 出账
     * @param request
     * @return
     */
    ResponseResult<Boolean> walletOut( WalletInOrOutRequest request);

    /**
     *
     * @return
     */
    Map<Integer, String> dic();

    /**
     *
     * @param request
     * @return
     */
    TableDataInfo<List<WalletInOrOutListResponse>> getWalletInOrOutList(WalletInOrOutListRequest request);

    /**
     * 用户可提现金额
     * @param uid
     * @return
     */
    BigDecimal waitCash(Long uid);

}
